*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #4ECDC4;--secondary-color: #FF6B6B;--bg-dark: #1a1a2e;--bg-medium: #16213e;--bg-light: #0f3460;--text-light: #ffffff;--text-muted: #a8a8a8;--border-color: #2d3748;--hover-color: #2a4365}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-dark);color:var(--text-light);overflow:hidden}.app-container{height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-medium);padding:.8rem 1.2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--border-color);box-shadow:0 2px 10px #0000004d;flex-shrink:0}.logo{display:flex;align-items:center;gap:.8rem}.logo svg{flex-shrink:0}.logo h1{font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.header-actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn{padding:.6rem 1rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none;white-space:nowrap}.btn-primary{background:var(--primary-color);color:var(--bg-dark)}.btn-primary:hover{background:#45b8af;transform:translateY(-1px);box-shadow:0 4px 12px #4ecdc44d}.btn-secondary{background:var(--bg-light);color:var(--text-light)}.btn-secondary:hover{background:var(--hover-color)}.btn-small{padding:.5rem .75rem;font-size:.8rem}.main-content{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--bg-medium);overflow-y:auto;border-right:1px solid var(--border-color)}.sidebar.left{width:72px;padding:1rem .5rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar.right{width:280px;padding:0;border-right:none;border-left:1px solid var(--border-color)}.tool-section{margin-bottom:1.5rem}.tool-section:last-child{margin-bottom:0}.tool-section h3{font-size:.75rem;font-weight:600;margin-bottom:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.tools-vertical{display:flex;flex-direction:column;gap:.4rem;align-items:center}.tool-icon{width:44px;height:44px;background:transparent;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;position:relative}.tool-icon svg{width:20px;height:20px;fill:var(--text-light);transition:fill .2s ease}.tool-icon:hover{background:var(--hover-color)}.tool-icon.active{background:var(--primary-color)}.tool-icon.active svg{fill:var(--bg-dark)}.tool-divider{width:32px;height:1px;background:var(--border-color);margin:.3rem 0}.color-swatches{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:auto}.color-swatch-main{width:44px;height:44px;border-radius:6px;border:2px solid var(--border-color);cursor:pointer;background:#000;transition:all .2s ease}.color-swatch-main:hover{transform:scale(1.05);border-color:var(--primary-color)}#colorPicker{width:44px;height:32px;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;background:transparent;padding:0}.panel-tabs{display:flex;background:var(--bg-light);border-bottom:1px solid var(--border-color)}.panel-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.panel-tab:hover{color:var(--text-light);background:#ffffff0d}.panel-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.panel-content{display:none;padding:1.2rem;overflow-y:auto;max-height:calc(100vh - 120px)}.panel-content.active{display:block}.panel-section{margin-bottom:1.5rem}.panel-section:last-child{margin-bottom:0}.panel-section h3{font-size:.8rem;font-weight:600;margin-bottom:.8rem;color:var(--text-light)}.size-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.size-preset-btn{padding:.5rem;background:var(--bg-light);border:2px solid transparent;border-radius:6px;color:var(--text-light);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.size-preset-btn:hover{background:var(--hover-color)}.size-preset-btn.active{background:var(--primary-color);color:var(--bg-dark);border-color:var(--primary-color)}.size-custom{display:flex;flex-direction:column;gap:.5rem}.input-row{display:flex;align-items:center;gap:.5rem}.input-row label{font-size:.85rem;color:var(--text-muted);min-width:20px;font-weight:500}.input-row input{flex:1;padding:.5rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:6px;color:var(--text-light);font-size:.85rem}.btn-block{width:100%}.zoom-control-group{display:flex;align-items:center;gap:.5rem}.icon-btn{width:28px;height:28px;background:var(--bg-light);border:1px solid var(--border-color);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.icon-btn:hover{background:var(--hover-color);border-color:var(--primary-color)}.icon-btn svg{display:block}#zoomSlider{flex:1;height:6px;border-radius:3px;background:var(--bg-light);outline:none;-webkit-appearance:none;cursor:pointer}#zoomSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}#zoomSlider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 0 6px #4ecdc433}#zoomSlider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none}.zoom-value{font-size:.85rem;font-weight:600;color:var(--primary-color);min-width:45px;text-align:center}.toggle-option{display:flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.toggle-option span{font-size:.85rem;color:var(--text-light)}.color-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.palette-color{aspect-ratio:1;border-radius:6px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s ease}.palette-color:hover{transform:scale(1.1);border-color:var(--primary-color);box-shadow:0 0 0 2px #4ecdc433}.canvas-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-dark);padding:2rem}.canvas-wrapper{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0006;padding:1rem;display:flex;align-items:center;justify-content:center}#pixelCanvas{cursor:crosshair;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.canvas-info{margin-top:1rem;display:flex;gap:1rem;color:var(--text-muted);font-size:.9rem}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:var(--bg-medium);border-radius:12px;max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.5rem}.modal-close{background:none;border:none;color:var(--text-light);font-size:2rem;cursor:pointer;line-height:1;padding:0;width:32px;height:32px}.modal-close:hover{color:var(--secondary-color)}.template-grid{padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;overflow-y:auto}.template-item{background:var(--bg-light);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;text-align:center}.template-item:hover{background:var(--hover-color);transform:translateY(-2px)}.template-item canvas{width:100%;height:auto;border-radius:4px;margin-bottom:.5rem;image-rendering:pixelated}.template-item span{display:block;font-size:.85rem;color:var(--text-muted)}.photo-converter{padding:1.5rem;max-height:70vh;overflow-y:auto}.upload-area{border:3px dashed var(--border-color);border-radius:12px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#0f34604d}.upload-area:hover{border-color:var(--primary-color);background:#4ecdc41a}.upload-area svg{color:var(--text-muted);margin-bottom:1rem}.upload-area p{color:var(--text-light);font-size:.95rem;margin-top:.5rem}.upload-area input{display:none}.converter-preview{display:flex;flex-direction:column;gap:1.5rem}.converter-preview img{max-width:100%;max-height:350px;-o-object-fit:contain;object-fit:contain;border-radius:12px;background:var(--bg-light);padding:1rem}.converter-controls{display:flex;flex-direction:column;gap:1.2rem;background:var(--bg-light);padding:1.5rem;border-radius:12px}.converter-controls label{display:flex;flex-direction:column;gap:.8rem}.converter-controls label>span:first-child{font-size:.85rem;font-weight:600;color:var(--text-light)}.converter-controls .range-container{display:flex;align-items:center;gap:1rem}.converter-controls input[type=range]{flex:1;height:6px;border-radius:3px;background:var(--bg-dark);outline:none;-webkit-appearance:none}.converter-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.converter-controls input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 0 8px #4ecdc433}.converter-controls input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none}.converter-controls .value-display{min-width:40px;text-align:center;font-weight:600;color:var(--primary-color);font-size:1rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-light)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--hover-color)}@media(max-width:1200px){.sidebar.left{width:64px;padding:.8rem .4rem}.sidebar.right{width:260px}.logo h1{font-size:1.1rem}.tool-icon,.color-swatch-main{width:40px;height:40px}#colorPicker{width:40px;height:28px}}@media(max-width:968px){.main-content{flex-direction:column}.sidebar.left{width:100%!important;flex-direction:row;padding:1rem;border-right:none!important;border-bottom:1px solid var(--border-color)}.tools-vertical{flex-direction:row;justify-content:center;flex-wrap:wrap}.color-swatches{flex-direction:row;margin-top:0;margin-left:auto}.sidebar.right{width:100%!important;order:3;border-left:none!important;border-top:1px solid var(--border-color)}.canvas-area{order:2;padding:1.5rem 1rem}.panel-content{max-height:400px}}@media(max-width:768px){body{overflow-y:auto}.app-container{height:auto;min-height:100vh}.header{padding:.8rem;flex-wrap:wrap;gap:.8rem}.logo{gap:.5rem}.logo svg{width:24px;height:24px}.logo h1{font-size:1rem}.header-actions{width:100%;justify-content:space-between}.header-actions .btn{flex:1;padding:.6rem .5rem;font-size:.75rem}.main-content{flex-direction:column;overflow-y:auto}.sidebar.left{padding:.8rem;gap:1rem}.tool-icon{width:38px;height:38px}.tool-icon svg{width:18px;height:18px}.color-swatch-main{width:38px;height:38px}#colorPicker{width:38px;height:26px}.sidebar.right{padding:0}.panel-content{padding:1rem}.canvas-area{padding:1rem;min-height:400px}.canvas-wrapper{padding:.8rem}.size-presets{grid-template-columns:repeat(4,1fr);gap:.4rem}.size-preset-btn{padding:.4rem;font-size:.85rem}.color-palette{grid-template-columns:repeat(4,1fr);gap:.4rem}.modal-content{max-width:95vw;max-height:85vh;margin:1rem}.template-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));padding:1rem;gap:.8rem}.photo-converter{padding:1rem}.upload-area{padding:2rem 1rem}.converter-preview img{max-height:250px;padding:.5rem}.converter-controls{padding:1rem}}@media(max-width:480px){.header-actions .btn{font-size:.7rem;padding:.5rem .4rem}.logo h1{font-size:.9rem}.panel-section h3{font-size:.75rem}.size-presets{grid-template-columns:repeat(4,1fr)}.tool-icon{width:36px;height:36px}.tool-icon svg{width:16px;height:16px}}
